草庐IT

c++ - 包装第 3 方 DLL

全部标签

windows - Perl 脚本引发 oci.dll 错误,DBD

我有一个连接到Oracle数据库的perl脚本,打开一个文本文件并从数据库表中的文件加载数据,该脚本在我的开发机器(windowsxp32位)上运行完美,但是当我加载脚本到生产服务器(Windows200364位)并从命令行运行它,它会打开一个perl.exe-无法定位组件窗口,消息说ThisapplicationhasfailedtostartbecauseOCI.dllwasnotfound.Re-installingtheapplicationmayfixthisproblem.命令行输出为:install_driver(Oracle)failed:Can'tload'C:/Pe

c - GetVolumeInformation 返回的 FileSystemName 字符串的可能值是什么?

MSDNdocumentation和knowledgebasearticleGetVolumeInformation不是很具体文件系统名称字符串可以包含什么。明显的值是NTFS、CDFS和FAT32。但它也能检测到其他文件系统吗?字符串是什么?我还在某处读到,有时版本号包含在字符串中。对此有什么想法吗?我不知Prop体情况了。:(感谢您的帮助! 最佳答案 该函数可以检测以下文件系统:FAT、FAT32、NTFS、HPFS、CDFS、UDF、NWFS根据我3年前的经历,我记得在WindowsXPSP3上根本检测不到ex2或ex3。编辑

c++ - 如何使用 assert(..) 函数避免 CRT 对话框

在Windows中有没有一种方法可以避免使用assert(..)函数失败时出现CRT对话框?我喜欢将错误消息打印到控制台。如果我们不在优化版本中定义NDEBUG来实现此目的,是否可以使用CrtReportMode(..)?-卡特里 最佳答案 您可以使用_CrtSetReportMode和_CrtSetReportFile将输出发送到文件(在本例中为stderr)。_CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE)_CrtSetReportFile(_CRT_ASSERT,_CRTDBG_

c++ - 在 Windows 7 中交叉编译 C 和 C++ 应用程序,在 linux 下使用 MinGW

我在Windows7上安装了MinGW编译器,GCC版本是4.6.1。我有HelloWorld应用程序:#includeintmain(intargc,char*argv[]){printf("HelloWorld!");return0;}我如何使用MinGW编译器在Windows7下编译这个应用程序,以便我可以在linux中运行这个应用程序,而无需重新编译。 最佳答案 您需要在这里区分两个系统:build系统,即您的编译器运行所在的系统,以及host系统,即您的可执行文件将运行的系统运行。MinGW是主机系统Windows的GCC

c - printf 未知说明符 %S

我正在尝试让示例代码正常工作,它使用以下几行:WCHARcBuf[MAX_PATH];GetSharedMem(cBuf,MAX_PATH);printf("Childprocessreadfromsharedmemory:%S\n",cBuf);获取共享内存:__declspec(dllexport)VOID__cdeclGetSharedMem(LPWSTRlpszBuf,DWORDcchSize){LPWSTRlpszTmp;//GettheaddressofthesharedmemoryblocklpszTmp=(LPWSTR)lpvMem;//Copyfromsharedme

c++ - 记录dll API然后模仿它

有没有什么工具可以在一些c++dll中记录API,然后回放。在我们的客户站点,我们有一台机器,上面装有一些供应商软件,可以公开其功能。我们想录制该dll,然后在办公室模仿它。知道我们如何做到这一点吗?感谢您的帮助。 最佳答案 您可以从Detours开始或其开源等效项EasyHook.您的Hook函数可以记录事件,然后回到办公室您可以编写一个替代DLL来重播该事件。 关于c++-记录dllAPI然后模仿它,我们在StackOverflow上找到一个类似的问题:

c++ - 如何安全地从 DLL 连接到消息泵?

我正在尝试从加载我的DLL的进程中获取消息。我试过:SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)WndProc,hInstance,0);这给了我关于“程序X无法启动,因为系统中缺少Y.dll”的错误弹出窗口。这就是我在标题中加上“安全”的原因。我也试过:SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)WndProc,hInstance,threadId);threadId是我的DLLMain中GetCurrentThreadId()的结果。这个有效,但我没有收到任何窗口消息(只有一堆512和1025)。

c++ - 如何从客户端复制 http 服务器上的文件?

过去我使用ftp服务器,通过客户端的“ftp”连接和“GET”将一个文件从远程机器复制到本地机器。是否可以做同样的事情,但服务器只运行一个http服务器?服务器:GoAheadWebServer.Windows上的客户端和http服务器。该拷贝可以从浏览器启动,或者如果需要,可以在客户端上编写一个单独的程序。(即-是否有任何WindowsAPI调用从http服务器复制文件?)(此外,这些文件可能不在http根Web目录中,而是在服务器上的其他地方......这会发生吗?) 最佳答案 HTTP服务器将只提供位于站点文档根目录中的文件。

c++ - 作为 DLL 的 GIT C/C++ 库

我想知道是否有人可以推荐JGit之类的库,但它是用C/C++编写的。本质上我们需要的是dll文件,我们可以将其与我们的应用程序捆绑在一起以初始化repo并每天从repo中提取数据。 最佳答案 我用了3秒的谷歌搜索才得出:libgit2. 关于c++-作为DLL的GITC/C++库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8038135/

php - 2 Unresolved external 问题

我正在尝试编译一个helloworldphp扩展项目,但我遇到了2个关于Unresolvedexternal问题的错误。我不确定如何解决此问题,有人可以告诉我可能是什么问题吗?项目文件here您还可以在thispost中查看代码1>CustomExt.obj:errorLNK2019:unresolvedexternalsymbol__imp___estrndupreferencedinfunction"void__cdeclzif_DoubleUp(int,struct_zval_struct*,struct_zval_struct**,struct_zval_struct*,int